웹개발 및 최신 테크 소식을 전하는 블로그, 웹이즈프리

HOME > sql

[SQL] 데이터베이스 저장엔진 InnoDB, ISAM, 트랜젝션의 의미

Last Modified : 2015-11-15 / Created : 2015-01-30
4,416
View Count
데이터베이스를 생성할 경우  선택 가능한 타입이 존재하는데 innodb 또는 isam 등을 선택할 수 있습니다. 이 방법들은 각각 장단점이 존재합니다. 이에 대하여 알아보겠습니다.

InnoDB(이노디비)의 장점은 트랜잭션(transaction)의 사용이 가능하다는 점, 그리고 외래키의 사용 역시 가능한 점입니다. 트랜잭션 기능을 사용하면 서버에 업데이트시 롤백(Rollback) 및 커밋(Commit) 등등 다양한 기능을 수행할 수 있습니다.

이노디비(innodb)가 가진 단점이라면 조금 느리다는 점이있을 수 있겠습니다.

참고로, 이노디비는 테이블의 생성 뒤에도 엔진타입의 변환이 가능합니다. 아래의 예제코드를 봐주세요.


alter table name type=innodb;


! 트랜잭션이란?



위에 언급한 InnoDB의 장점이 트랜젝션이라 했습니다. 트랜젝션은 하나 또는 다수의 쿼리들이 한번에 실행되거나 실행되지 않음을 의미합니다. 이 트랜젝션이 서버에 일어나 쓰여지면 커밋(commit)되었다 할 수 있으며 이를 되돌릴 경우 롤백(Rollback)되었다 하며 이전 상태로 돌아갔음을 의미합니다.

테이블 엔진인 ISAM과 InnoDB 모두 장단점을 가지고 있습니다. 그리고 ISAM의 경우 SELECT 또는 INSERT 등의 명령이 많은 경우 더 적합한 엔진으로 알려져 있습니다.
아래의 글도 찾고 계시지 않나요?

Previous

[SQL] 한글 초성, 자음 검색기능 구현하기

Previous

[SQL] 문자 바꾸기, 치환, 변환 replace()